package com.example.socialapp.ui.auth.login

import com.example.socialapp.ui.base.mvi.MviEffect

/**
 * Side effects for the login screen
 */
sealed class LoginEffect : MviEffect {
    /**
     * Navigate to main screen after successful login
     */
    data object NavigateToMain : LoginEffect()
    
    /**
     * Navigate to registration screen
     */
    data object NavigateToRegister : LoginEffect()
    
    /**
     * Navigate to forgot password screen
     */
    data object NavigateToForgotPassword : LoginEffect()
    
    /**
     * Show error message
     */
    data class ShowError(val message: String) : LoginEffect()
    
    /**
     * Show success message
     */
    data class ShowSuccess(val message: String) : LoginEffect()
    
    /**
     * Launch Google sign-in flow
     */
    data object LaunchGoogleSignIn : LoginEffect()
    
    /**
     * Launch Facebook sign-in flow
     */
    data object LaunchFacebookSignIn : LoginEffect()
    
    /**
     * Launch Apple sign-in flow
     */
    data object LaunchAppleSignIn : LoginEffect()
} 